草庐IT

LeetCode - 回文数

全部标签

算法leetcode|86. 分隔链表(rust重拳出击)

文章目录86.分隔链表:样例1:样例2:提示:分析:题解:rust:go:c++:python:java:86.分隔链表:给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有小于x的节点都出现在大于或等于x的节点之前。你应当保留两个分区中每个节点的初始相对位置。样例1:输入: head=[1,4,3,2,5,2],x=3 输出: [1,2,2,4,3,5]样例2:输入: head=[2,1],x=2 输出: [1,2]提示:链表中节点的数目在范围[0,200]内-100-200分析:面对这道算法题目,二当家的再次陷入了沉思。直接模拟即可,题目没有特别说明对空间复杂度

算法leetcode|47. 全排列 II(rust重拳出击)

文章目录47.全排列II:样例1:样例2:提示:分析:题解:rustgoc++cpythonjava47.全排列II:给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。样例1:输入: nums=[1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]]样例2:输入: nums=[1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1-10分析:面对这道算法题目,二当家的陷入了沉思。要做全排列,回溯是大方向。有重复的数字,又要不重复的排列,去重是必须的了。要求是对排列去重,但是也可

【LeetCode力扣】42. 接雨水

目录1、题目介绍2、解题思路2.1、暴力破解法2.2、双指针法  1、题目介绍原题链接: 42.接雨水-力扣(LeetCode) 示例1: 输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。  示例2:输入:height=[4,2,0,3,2,5]输出:9 提示:n==height.length102、解题思路2.1、暴力破解法首先看到这题的第一反应就是,通过每层遍历去找出蓝色块(即水块)。只要找到每一层的边界,再通过右边界rig

JAVA回文数的判断

    回文数:如121,1221这样正着和倒着读都一样的数叫做回文数,代码的主要思路是先将用户输入的数字倒过来后再与原来的数进行判断。    难点:将用户输入的数字倒过来上代码:packageyulin.exercise04;importjava.util.Scanner;publicclass判断回文数{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intnum=sc.nextInt();inttemp=num;intsum=0;while(num!=0){intn=num%10;num/=10;sum

(滑动窗口) 76. 最小覆盖子串 ——【Leetcode每日一题】

❓76.最小覆盖子串难度:困难给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果s中存在这样的子串,我们保证它是唯一的答案。示例1:输入:s=“ADOBECODEBANC”,t=“ABC”输出:“BANC”解释:最小覆盖子串“BANC”包含来自字符串t的‘A’、‘B’和‘C’。示例2:输入:s=“a”,t=“a”输出:“a”解释:整个字符串s是最小覆盖子串。示例3:输入:s=“a”,t=“aa”输出:“”解释:t中两个字符‘a’均应包含在s

LeetCode-169. 多数元素(C语言)

目录捏一、题目描述二、示例与提示三、思路四、代码一、题目描述给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数大于⌊n/2⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。二、示例与提示示例1:输入:nums=[3,2,3]输出:3示例2:输入:nums=[2,2,1,1,1,2,2]输出:2提示n==nums.length11进阶:尝试设计时间复杂度为O(n)、空间复杂度为O(1)的算法解决此问题。三、思路拿到本题首先想到的是使用哈希思想,新建立一个数组arr,将nums数组中的各元素映射到arr中,最终返回arr数组中值最小的元素下标。后来发现

【LeetCode力扣】189 53 轮转数组 | 最大子数组和

目录1、189.轮转数组1.1、题目介绍1.2、解题思路2、53.最大子数组和2.1、题目介绍2.2、解题思路 1、189.轮转数组1.1、题目介绍原题链接:189.轮转数组-力扣(LeetCode)​示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例 2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-1,-100]解释: 向右轮转1步:[99,-1,-100,3]向右轮转2步:[

leetcode:2441. 与对应负数同时存在的最大正整数(python3解法)

难度:简单给你一个 不包含 任何零的整数数组 nums ,找出自身与对应的负数都在数组中存在的最大正整数 k 。返回正整数 k ,如果不存在这样的整数,返回 -1 。示例1:输入:nums=[-1,2,-3,3]输出:3解释:3是数组中唯一一个满足题目要求的k。示例2:输入:nums=[-1,10,6,7,-7,1]输出:7解释:数组中存在1和7对应的负数,7的值更大。示例3:输入:nums=[-10,8,6,7,-2,-3]输出:-1解释:不存在满足题目要求的k,返回-1。提示:1-1000nums[i]!=0题解:classSolution:deffindMaxK(self,nums:Li

Leetcode:【189. 轮转数组】

题目给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数难度:中等题目链接:189.轮转数组示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例 2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-1,-100]解释:向右轮转1步:[99,-1,-100,3]向右轮转2步:[3,99,-1,-100]提示:1-2^310代码展示voidreverse_nu

【LeetCode-中等题】73. 矩阵置零

题目题解一:使用标记数组publicvoidsetZeroes(int[][]matrix){intm=matrix.length;intn=matrix[0].length;boolean[]row=newboolean[m];boolean[]col=newboolean[n];for(inti=0;im;i++){for(intj=0;jn;j++){if(matrix[i][j]==0)row[i]=col[j]=true;//将这一行和这一列的数据设为true}}for(inti=0;im;i++){for(intj=0;jn;j++){if(row[i]||col[j]){//若行